package com.miku.blog.service;

import com.miku.blog.domain.pojo.ResponseResult;
import com.miku.blog.domain.Tag;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.lang.Nullable;

import java.util.List;

/**
* @author Miku
* @description 针对表【tb_tag】的数据库操作Service
* @createDate 2022-05-26 19:01:03
*/
public interface TagService extends IService<Tag> {

    /**
     *
     * 根据文章Id 获取 所对应的标签
     * @param articleId 文章ID
     * @return
     */
    List<Tag> getTagListByArticle(@Nullable Integer articleId);

    /**
     * 获取文章标签列表
     * @param current
     * @param size
     * @return
     */
    ResponseResult tags(Integer current, Integer size,String keywords);

    /**
     * 删除文章标签列表 { 当该标签下无对应文章时 }
     * @param tagIdList
     * @return
     */
    ResponseResult deleteTags(Integer[] tagIdList);

    /**
     *  添加/修改文章标签
     * @param tag
     * @return
     */
    ResponseResult addTags(Tag tag);


    /**
     * 获取标签列表   展示
     * @param
     * @return
     */
    ResponseResult getTags();


    /**
     * 根据标签名 获取 标签信息
     * @param tagName
     * @return
     */
    Tag  getTagByName(String tagName);

    ResponseResult getTagList();

}
